Главная arrow книги arrow Копия Глава 9. Логический вывод в логике первого п arrow Хранение и выборка
Хранение и выборка

Поиск ответа на данный конкретный запрос стал бы проще при использовании индексации фактов и по предикату, и по второму параметру, возможно, с использованием комбинированного ключа хэш-таблицы. В таком случае существовала бы возможность просто формировать ключ из запроса и осуществлять выборку именно тех фактов, которые унифицируются с этим запросом. А для ответа на другие запросы, такие как Employs (ΑΙΜΑ. org, у), нужно было бы индексировать факты, комбинируя предикат с первым параметром. Поэтому факты могут храниться под разными индексными ключами, что позволяет моментально сделать их доступными для разных запросов, с которыми они могли бы унифицироваться.

Если дано некоторое высказывание, которое подлежит хранению, то появляется возможность сформировать индексы для всех возможных запросов, которые унифицируются с ними. Применительно к факту Employs (ΑΙΜΑ. org, Richard) возможны следующие запросы:

Как показано на рис. 9.1, я, эти запросы образуют решетку обобщения. Такая решетка обладает некоторыми интересными свойствами. Например, дочерний узел любого узла в этой решетке может быть получен из его родительского узла с помощью единственной подстановки, а "наибольший" общий потомок любых двух узлов является результатом применения наиболее общего унификатора для этих узлов. Та часть решетки, которая находится выше любого базового факта, может быть сформирована систематически (упр. 9.5). Высказывание с повторяющимися константами имеет несколько иную решетку, как показано на рис. 9.1, б. Наличие функциональных символов и переменных в высказываниях, подлежащих хранению, приводит к появлению еще более интересных структур решетки.

Рис. 9.1. Примеры решеток обобщения: решетка обобщения, самым нижним узлом которой является высказывание Employs fAIMA.org, Richard; (а);решетка обобщения для высказывания